/**
 *	@file	np_app.h
 *	@brief	アンノーンノート　アプリヘッダ
 *	@author	Miyuki Iwasawa
 *	@date	08.08.04
 */

#ifndef __H_AN_NOTE_SYS_H__
#define __H_AN_NOTE_SYS_H__

#include "an_note_def.h"
#include "field/script_def.h"
#include "system/wordset.h"
#include "system/selbox.h"
#include "system/touch_subwindow.h"
#include "poketool/poke_tool.h"
#include "savedata/zukanwork.h"

#define AN_FORM_MAX	(UNK_END)

typedef struct _AN_NOTE_MSG{
	MSGDATA_MANAGER *man;

	WORDSET* wset;		///<ワーク
	STRBUF	*tmp;		///<汎用
	STRBUF	*str;		///<汎用

	STRBUF	*back;		///<もどる
	STRBUF	*page;		///<ページ
	STRBUF	*name;		///<主人公名
	u8	msg_spd;	///<メッセージスピード
	u8	win_type;	///<ウィンドウタイプ
	u8	dmy[3];	///<padding
}AN_NOTE_MSG;

typedef struct _NOTE_SCR{
	void*	buf;
	NNSG2dScreenData*	scr;
	u8*		dat;
	u8		siz_x;
	u8		siz_y;
}NOTE_SCR;

typedef struct _AN_NOTE_WORK{
	int	heapID;
	AN_NOTE_PARAM* param;

	SAVEDATA* save;
	ZUKAN_WORK* zukan_sv;

	u16	seq;
	u16	sub_seq;
	int	key_mode;
	u8	msg_spd;
	u8	win_type;

	u8	page;
	u8	page_max;
	u8	an_page_max;
	u8	memo_page_max;
	u8	ret_mode;

	u8	an_get_num;		///<アンノーン捕獲済み種類数
	u8	an_get_form[AN_FORM_MAX];	///<捕獲済みアンノーンフォルムテーブル
	u8	an_memo_open;

	GF_BGL_INI *bgl;	///<BGLデータ

	AN_NOTE_MSG			msg;		///<メッセージデータ

	GF_BGL_BMPWIN		win[WIN_MAX];	///<Bmpウィンドウ
	TOUCH_SW_SYS		*ynbtn_wk;	///<YesNoボタンワーク

	CATS_SYS_PTR	pActSys;	///<セルアクターシステム
	CATS_RES_PTR	pActRes;	///<セルアクターリソース
	CATS_RES_PTR	pActIconRes;	///<セルアクターリソース

	CLACT_WORK_PTR		pAct[NORMAL_ACTMAX];		///<アクター
	CATS_ACT_PTR		pAIcon[ICON_ACTMAX];		///<アクター

	ARCHANDLE*	icon_h;

	NOTE_SCR	sd_top;
	NOTE_SCR	sd_list;
	NOTE_SCR	sd_memo;
	NOTE_SCR	su_top;
	NOTE_SCR	su_list;
	NOTE_SCR	su_memo;
}AN_NOTE_WORK;

#endif	//__H_AN_NOTE_SYS_H__
